home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / _archvrs / unix / shar.lha / shar / Makefile- < prev    next >
Makefile  |  1987-12-03  |  3KB  |  120 lines

  1. ##
  2. ##  SOURCE-SHIPPING TOOLS MAKEFILE
  3. ##  $Header: Makefile,v 1.16 87/03/18 13:12:39 rs Exp $
  4. ##
  5.  
  6. ##  Edit appropriately.
  7. CFLAGS    = -O
  8.  
  9. ##  Use these two lines if you use ranlib...
  10. #RANLIB    = ranlib lib.a
  11. #AR_OBJ    = $(LOBJ)
  12. ##  ...or use these two if you don't.
  13. AR_OBJ    = `lorder $(LOBJ) | tsort`
  14. RANLIB    = @echo
  15.  
  16. ##  Use this line if you have ctags (free from mod.sources)...
  17. #CTAGS    = ctags -tw $(SRCS) $H
  18. # ...or this line if you don't.
  19. CTAGS    = @echo
  20.  
  21. ##  Where executables should be put.
  22. DESTDIR    = /usr/local/bin
  23.  
  24. ##  The manpage for "foo" goes in $(MANDIR)/foo.$1
  25. MANDIR    = /usr/local/man/man1
  26. 1    = 1
  27. #MANDIR    = /usr/man/u_man/manl
  28. #1    = 1L
  29.  
  30. ##
  31. ##  END OF CONFIGURATION SECTION
  32. ##
  33.  
  34. ##  Shorthands for sources, objects, etc.
  35. H    = shar.h
  36. L    = lib.a
  37. PROGS    = findsrc makekit shar unshar shell
  38. SRCS    = findsrc.c getopt.c makekit.c mem.c shar.c unshar.c
  39. LSRC    = cwd.c getopt.c host.c sysfuncs.c glue.c parser.c mem.c
  40. LOBJ    = cwd.o getopt.o host.o sysfuncs.o glue.o parser.o mem.o
  41. MAN    = findsrc.$1 makekit.$1 shar.$1 unshar.$1 shell.$1
  42.  
  43.  
  44. all:        programs tags
  45.  
  46. install:    newprog newman
  47.  
  48.  
  49. ##  You might want to change these actions...
  50. newprog:    $(PROGS)
  51.     cd $(DESTDIR) ; rm -f $(PROGS)
  52.     cp $(PROGS) $(DESTDIR)
  53.     cd $(DESTDIR) ; strip $(PROGS) ; chmod 755 $(PROGS)
  54. #    cd $(DESTDIR) ; /etc/chown root $(PROGS)
  55.  
  56. newman:        $(MAN)
  57.     cd $(MANDIR) ; rm -f $(MAN)
  58.     cp $(MAN) $(MANDIR)
  59.  
  60.  
  61. ##  CREATING MANPAGES
  62. .SUFFIXES:    .$1 .man
  63. .man.$1:
  64.     cp $< $@
  65.     chmod 444 $@
  66.  
  67. ##  PROGRAM TARGETS
  68. programs:    $(PROGS)
  69.  
  70. findsrc:    findsrc.o $H $L
  71.     $(CC) $(CFLAGS) -o findsrc findsrc.o $L
  72.  
  73. makekit:    makekit.o $H $L
  74.     $(CC) $(CFLAGS) -o makekit makekit.o $L
  75.  
  76. shar:        shar.o $H $L
  77.     $(CC) $(CFLAGS) -o shar shar.o $L
  78.  
  79. shell:        shell.o $H $L
  80.     $(CC) $(CFLAGS) -o shell shell.o $L
  81.  
  82. ##  Special -- gotta build these from the .c files...
  83. unshar:        unshar.c $H $L
  84.     $(CC) $(CFLAGS) -o unshar unshar.c $L
  85. unshar.safe:    unshar.c $H $L
  86.     $(CC) $(CFLAGS) -DUSE_MY_SHELL -o unshar unshar.c $L
  87.  
  88.  
  89. ##  UTILITY TARGETS
  90. lib.a:        $(LOBJ)
  91.     @rm -f lib.a
  92.     ar r lib.a $(AR_OBJ)
  93.     $(RANLIB)
  94. $(LOBJ):    $H
  95.  
  96. tags:        $(SRCS) $H
  97.     $(CTAGS)
  98.  
  99. clean:
  100.     rm -f *.[oa] *.$1 *.BAK $(PROGS) unshar.safe
  101.     rm -f lint lib.ln tags core foo a.out
  102.  
  103.  
  104. ##  LINT (probably only good for 4.[23]BSD Unices)
  105. #LINTF    = -p -ahb
  106. LINTF    = -ahb
  107. lint:        programs lib.ln
  108.     exec lint $(LINTF)u  >lint $(LSRC)
  109.     exec lint $(LINTF)  >>lint findsrc.c lib.ln
  110.     exec lint $(LINTF)  >>lint makekit.c lib.ln
  111.     exec lint $(LINTF)  >>lint shar.c    lib.ln
  112.     exec lint $(LINTF)  >>lint shell.c   lib.ln
  113.     exec lint $(LINTF)  >>lint unshar.c  lib.ln
  114. #    exec lint $(LINTF) -DUSE_MY_SHELL >>lint unshar.c  lib.ln
  115.     
  116.  
  117. lib.ln:        $(LSRC)
  118.     lint -CX $(LSRC)
  119.     mv llib-lX.ln lib.ln
  120.